<?php

/**
 * Description of RepoPermiso
 *
 * @author  Mariano Renkine
 * @author  Fernando Arau
 */
class RepoPermiso extends Repositorio {

    function __construct() {
        $this->tabla = "permiso";
        $this->id = "idPermiso";
    }

    function agregar(Permiso $permiso) {
        try {

            $link = $this->OpenDB();
            $this->beginTransaction();
            $query = "INSERT INTO " . $this->tabla . "(nombre, usuario, deshabilitado) values (";
            $query .= "'" . $permiso->getNombre() . "', ";
            $query .= "'" . $permiso->getUsuario() . "', ";
            $query .= $permiso->getDeshabilitado() . ")";
            $result = $this->PostSQL($query);
            $this->commitTransaction();
            $this->CloseDB($link);
            return $result;
        } catch (Exception $ex) {
            return $ex;
        }
    }

    function buscar($id) {
        $link = $this->OpenDB();
        $query = parent::buscar($id);
        $this->CloseDB($link);
        $p = new Permiso();
        $p->setAdminComprobantes($query[0]->adminComprobantes);
        $p->setVersion($query[0]->version);
        $p->setAdminHorariosTerapeutas($query[0]->adminHorariosTerapeutas);
        $p->setAltaGabinetes($query[0]->altaGabinetes);
        $p->setAltaGrupos($query[0]->altaGrupos);
        $p->setAltaReservas($query[0]->altaReservas);
        $p->setAltaTerapeutas($query[0]->altaTerapeutas);
        $p->setAltaTratamientos($query[0]->altaTratamientos);
        $p->setAltaUsuarios($query[0]->altaUsuarios);
        $p->setBajaGabinetes($query[0]->bajaGabinetes);
        $p->setBajaGrupos($query[0]->bajaGrupos);
        $p->setBajaReservas($query[0]->bajaReservas);
        $p->setBajaTerapeutas($query[0]->bajaTerapeutas);
        $p->setBajaTratamientos($query[0]->bajaTratamientos);
        $p->setBajaUsuarios($query[0]->bajaUsuarios);
        $p->setModGabinetes($query[0]->modGabinetes);
        $p->setModGrupos($query[0]->modGrupos);
        $p->setModReservas($query[0]->modReservas);
        $p->setModTerapeutas($query[0]->modTerapeutas);
        $p->setModTratamientos($query[0]->modTratamientos);
        $p->setModUsuarios($query[0]->modUsuarios);
        $p->setAltaProductos($query[0]->altaProductos);
        $p->setBajaProductos($query[0]->bajaProductos);
        $p->setModProductos($query[0]->modProductos);
        $p->setAltaBloqueosGabinete($query[0]->altaBloqueosGabinete);
        $p->setBajaBloqueosGabinete($query[0]->bajaBloqueosGabinete);
        $p->setModBloqueosGabinete($query[0]->modBloqueosGabinete);
        $p->setAltaPermisosTemporales($query[0]->altaPermisosTemporales);
        $p->setBajaPermisosTemporales($query[0]->bajaPermisosTemporales);
        $p->setModPermisosTemporales($query[0]->modPermisosTemporales);
        $p->setAltaDescuentos($query[0]->altaDescuentos);
        $p->setBajaDescuentos($query[0]->bajaDescuentos);
        $p->setModDescuentos($query[0]->modDescuentos);
        $p->setAdminReportes($query[0]->adminReportes);
        $p->setAdminClientesHotel($query[0]->adminClientesHotel);
        $p->setAltaClientesEventuales($query[0]->altaClientesEventuales);
        $p->setBajaClientesEventuales($query[0]->bajaClientesEventuales);
        $p->setModClientesEventuales($query[0]->modClientesEventuales);
        return $p;
    }

    function buscarPorGrupo($idGrupo) {
        $link = $this->OpenDB();
        $permisoObj = $this->GetTableDataByWhere($this->tabla, "grupo = $idGrupo");
        $permiso = new Permiso();
        if ($permisoObj) {
            $permiso->setAdminComprobantes($permisoObj[0]->adminComprobantes);
            $permiso->setAdminHorariosTerapeutas($permisoObj[0]->adminHorariosTerapeutas);
            $permiso->setAltaGabinetes($permisoObj[0]->altaGabinetes);
            $permiso->setAltaGrupos($permisoObj[0]->altaGrupos);
            $permiso->setAltaReservas($permisoObj[0]->altaReservas);
            $permiso->setAltaTerapeutas($permisoObj[0]->altaTerapeutas);
            $permiso->setAltaTratamientos($permisoObj[0]->altaTratamientos);
            $permiso->setAltaUsuarios($permisoObj[0]->altaUsuarios);
            $permiso->setBajaGabinetes($permisoObj[0]->bajaGabinetes);
            $permiso->setBajaGrupos($permisoObj[0]->bajaGrupos);
            $permiso->setBajaReservas($permisoObj[0]->bajaReservas);
            $permiso->setBajaTerapeutas($permisoObj[0]->bajaTerapeutas);
            $permiso->setBajaTratamientos($permisoObj[0]->bajaTratamientos);
            $permiso->setBajaUsuarios($permisoObj[0]->bajaUsuarios);
            $permiso->setModGabinetes($permisoObj[0]->modGabinetes);
            $permiso->setModGrupos($permisoObj[0]->modGrupos);
            $permiso->setModReservas($permisoObj[0]->modReservas);
            $permiso->setModTerapeutas($permisoObj[0]->modTerapeutas);
            $permiso->setModTratamientos($permisoObj[0]->modTratamientos);
            $permiso->setModUsuarios($permisoObj[0]->modUsuarios);
            $permiso->setAltaProductos($permisoObj[0]->altaProductos);
            $permiso->setBajaProductos($permisoObj[0]->bajaProductos);
            $permiso->setModProductos($permisoObj[0]->modProductos);
            $permiso->setAltaBloqueosGabinete($permisoObj[0]->altaBloqueosGabinete);
            $permiso->setBajaBloqueosGabinete($permisoObj[0]->bajaBloqueosGabinete);
            $permiso->setModBloqueosGabinete($permisoObj[0]->modBloqueosGabinete);
            $permiso->setAltaPermisosTemporales($permisoObj[0]->altaPermisosTemporales);
            $permiso->setBajaPermisosTemporales($permisoObj[0]->bajaPermisosTemporales);
            $permiso->setModPermisosTemporales($permisoObj[0]->modPermisosTemporales);
            $permiso->setAltaDescuentos($permisoObj[0]->altaDescuentos);
            $permiso->setBajaDescuentos($permisoObj[0]->bajaDescuentos);
            $permiso->setModDescuentos($permisoObj[0]->modDescuentos);
            $permiso->setAdminReportes($permisoObj[0]->adminReportes);
            $permiso->setAdminClientesHotel($permisoObj[0]->adminClientesHotel);
            $permiso->setAltaClientesEventuales($permisoObj[0]->altaClientesEventuales);
            $permiso->setBajaClientesEventuales($permisoObj[0]->bajaClientesEventuales);
            $permiso->setModClientesEventuales($permisoObj[0]->modClientesEventuales);
        }
        $this->CloseDB($link);
        return $permiso;
    }

}

?>
